// TODO：这是项目发布阶段所需要用到的babel插件，通过这里判断现在时开发还是打包，以此来决定是否删除所有console
const prodPlugins = []
//! 无论是开发阶段还是build打包阶段，都会执行一条命令，只是打包阶段是production，开发阶段是development
// process.env.NODE_ENV这个固定写法，就是用来获取当前模式的
if (process.env.NODE_ENV === 'production') {
  // 值为production，表示当前为build打包阶段，将清除console语句放进数组，方便后面使用
  prodPlugins.push('transform-remove-console')
}

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset'
  ],
  plugins: [
    [
      'component',
      {
        libraryName: 'element-ui',
        styleLibraryName: 'theme-chalk'
      }
    ],
    /**
     *TODO：进行build时清空所有console，如果只添加'babel-plugin-transform-remove-console'这一句，
     *TODO:那么无论是开发还是打包时都会删掉console，这样不行
     */
    // ...表示数组展开符，就是将prodPlugins数组中的每一项展开，添加进当前数组中
    // 如果当前是bulid阶段，那么数组里就会添加上清空console的语句，这样就能清除所有console了，而如果是开发阶段则是空数组，不影响console
    ...prodPlugins,
    /**
     * ! 配置路由懒加载的语法依赖
     * 配置好之后，就可以去router文件中将路由的import改成路由懒加载的样子了
     */
    '@babel/plugin-syntax-dynamic-import'
  ]
}
